// ml:run = $bin < input
#include <iostream>
#include <algorithm>

int const maxn = 3000;
int n, k, p;
int a[maxn];
int b[maxn];

long long calc(long long x, long long y)
{
    if (x < 0) {
        x = -x; y = -y;
    }
    if (y > x) {
        return (y - x) * 2 + x;
    } else if (y > 0) {
        return x;
    } else {
        return x - 2 * y;
    }
}

long long calc(int l)
{
    long long ret = 0;
    for (int i = 0; i < n; i++) {
        int j = l + i;
        ret = std::max(ret, calc(a[i], b[j]));
    }
    return ret;
}

int main()
{
    std::ios::sync_with_stdio(false);
    std::cin >> n >> k >> p;
    for (int i = 0; i < n; i++) {
        std::cin >> a[i];
        a[i] -= p;
    }
    std::sort(a, a + n);
    for (int i = 0; i < k; i++) {
        std::cin >> b[i];
        b[i] -= p;
    }
    std::sort(b, b + k);

    long long ans = (1ll) << 60;
    for (int i = 0; i + n - 1 < k; i++) {
        ans = std::min(ans, calc(i));
    }
    std::cout << ans << "\n";
}

